%define _BOOT_DEBUG_	;做Boot Sector时一定将此行注释掉！
                        ;将此行打开后用nasm Boot.asm -o Boot.com
                        ;做成一个.com文件易于调试
%ifdef _BOOT_DEBUG_
	org 0100h	;调试状态，做成.com文件，可调试
%else
	org 07c00h	;Boot状态，BIOS将把Boot Sector加载到0:7c00
                        ;处并开始执行
%endif

;org 07c00h	;告诉编译器程序加载到7c00处
mov ax, cs	;这三行是让ds，es，指向和cs相同的段，以便数据操作正确。
mov ds, ax	
mov es, ax
call DispStr	;调用显示字符串例程
jmp $		;无限循环
DispStr:
	mov ax, BootMessage
	mov bp, ax	;es:bp=串地址
	mov cx, 16	;cx=串长度
	mov ax, 01301h	;ah=13,al=01h
	mov bx, 000ch	;页号为0（bh=0)黑底红字（bl=0ch，高亮）
	mov dl, 0	
	int 10h		;10h号中断
	ret
BootMessage:	db "Hello, OS world!"
times 510-($-$$) db 0	;填充剩下的空间，使生成的二进制代码恰好为
			;512字节
dw 0xaa55		;结束标志
